The I/O port bitmap holds 8 ports per element, and hence the port number
used when indexing into it should be shifted right by 3 bits, not 4.
Signed-off-by: Matthew Daley <mattd@bugfuzz.com>
Reviewed-by: Yang Zhang <yang.z.zhang@intel.com>
Acked-by: Eddie Dong <eddie.dong@intel.com>
__vmread(EXIT_QUALIFICATION, &qual);
port = qual >> 16;
bitmap = nvmx->iobitmap[port >> 15];
- if ( bitmap[(port & 0x7fff) >> 4] & (1 << (port & 0x7)) )
+ if ( bitmap[(port & 0x7fff) >> 3] & (1 << (port & 0x7)) )
nvcpu->nv_vmexit_pending = 1;
if ( !nvcpu->nv_vmexit_pending )
gdprintk(XENLOG_WARNING, "L0 PIO %x.\n", port);